home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 79 / af079a.adf / Install Organiser < prev    next >
Text File  |  1995-10-25  |  50KB  |  1,992 lines

  1. ; $VER: Digita Organiser Installer Script 7/4/95
  2. ; By Mark Jackson
  3. ; English Language
  4. ;
  5. ; Works for Full version
  6. ; This section contains the Text strings for translation and
  7. ; appending to the code
  8. ;
  9. ; Copyright (C) Digita International
  10.  
  11. ;------------------------------------------------------
  12. ; ### Variable declarations
  13. (set #ProgName "Organiser")
  14. (set #NumberInstallDisks 1)
  15. (set #InstallDisk "OrganiserInstall")
  16. (set #NumNewDisks 2)
  17. (set #MainDisk "Organiser")
  18. (set #FilesDisk "OrganiserExtras")
  19. (set #RamTempFile "RAM:OrgTemp")
  20. (set #RamUtils "RAM:OrgUtils")
  21. (set #HDSpaceNeededBytes (* (* 1 1024) 1024)) ;1MB free
  22. (set #ToolDest (cat #MainDisk ":" #ProgName))
  23. (set #DriverDest "DEVS:Printers")
  24. (set #HelpTool "HELPFILE")
  25.  
  26. ;------------------------------------------------------
  27. ; ### String declaration
  28. ;// Drawer names
  29. (set #DrawerName "Organiser")
  30. (set #FilesName "Files")
  31. (set #SuppStorageName "Supplements Storage 96")
  32. (set #SupplementsName "Supplements")
  33. (set #ThemesName "Diary Themes 96")
  34. (set #TemplatesName "Templates")
  35. (set #CatalogsName "catalogs")
  36. (set #FontsName "Fonts")
  37. (set #LibsDefault "Libs")
  38. (set #SamplesName "Sound Samples")
  39. (set #CatalogsName "Catalogs")
  40.  
  41. ;------------------------------------------------------
  42. ;// Archive Names
  43. (set #ASLArchiveName "asl.lha")
  44. (set #CommoditiesArchiveName "commodities.lha")
  45. (set #AmigaGuideArchiveName "Amigaguide.lha")
  46. (set #DiskfontArchiveName "Diskfont.lha")
  47. (set #ProgArchiveName "Organiser.lha")
  48. (set #CatalogsArchiveName "Catalogs.lha")
  49. (set #SuppStorageArchiveName "Supp_Storage.lha")
  50. (set #SupplementsArchiveName "Supplements.lha")
  51. (set #ThemesArchiveName "Themes.lha")
  52. (set #FilesArchiveName "Files.lha")
  53. (set #TemplatesArchiveName "Templates.lha")
  54. (set #SystemFontsArchiveName "Fonts.lha")
  55. (set #StartupArchiveName "startup.lha")
  56. (set #DevicesArchiveName "Devices.lha")
  57. (set #Env-ArchiveArchiveName "Env-Archive.lha")
  58. (set #HelpArchiveName "Help.lha")
  59. (set #PrinterArchiveName "Printer.lha")
  60. (set #SoundArchiveName "Sound.lha")
  61. (set #HarpArchiveName "Harp.lha")
  62. (set #DrawerInfoArchiveName "DrawerInfo.lha")
  63. (set #ProgramInfoArchiveName "ProgramInfo.lha")
  64. (set #HDInfoArchiveName "HDInfo.lha")
  65. (set #Disk1InfoArchiveName "Disk1Info.lha")
  66. (set #Disk2InfoArchiveName "Disk2Info.lha")
  67. (set #OtherPrefsArchiveName "OtherPrefs.lha")
  68. (set #AddMonitorArchiveName "AddMonitor.lha")
  69. (set #CatalogsArchiveName "Catalogs.lha")
  70.  
  71. ;------------------------------------------------------
  72. ;// File Names
  73. (set #LibsSource (cat #InstallDisk ":libs"))
  74.  
  75. ;------------------------------------------------------
  76. ;// Message strings
  77. (set #BadKick
  78.     (cat #ProgName " requires Workbench 2.04 or above to work correctly.")
  79. )
  80.  
  81. (set #CheckStartup
  82.     (cat "\n\n\nPlease wait...\n\nThe installer is just checking your system.")
  83. )
  84.  
  85. (set #DestChoicePrompt
  86.     (cat "\n\n\nWhere would you like to install " #ProgName "?")
  87. )
  88.  
  89. (set #FloppyChoiceMsg
  90.     (cat "On floppy disks")
  91. )
  92.  
  93. (set #HardDiskChoiceMsg
  94.     (cat "On a hard disk")
  95. )
  96.  
  97. (set #DestChoiceHelp
  98.     (cat "\nSelect the radio button \"On a hard disk\" to "
  99.         "install " #ProgName " onto your hard disk.\n\n"
  100.         "Select the radio button \"On floppy disks\" to "
  101.         "install " #ProgName " onto a set of backup disks.\n\n\n"
  102.     )
  103. )
  104.  
  105. (set #HardDiskDestChoiceMsg
  106.     (cat "Where do you want to install the\n" #DrawerName " drawer?")
  107. )
  108.  
  109. (set #HardDiskDestChoiceHelp
  110.     (cat "Select the drawer where you want to install " #ProgName
  111.         ", then click Proceed (a new drawer titled \"" #DrawerName
  112.         "\" will be created and will contain the " #ProgName " program.)"
  113.     )
  114. )
  115.  
  116. (Set #HDBootedFromFloppy
  117.     (cat "It appears you are installing to Hard-disk, but booted from the " #InstallDisk
  118.          " Floppy-disk, this will not work.\n\nPlease reset your Amiga with no floppy-disks "
  119.          "inserted so it boots from the hard-disk, then try installing " #ProgName " again."
  120.     )
  121. )
  122.  
  123.  
  124. (set #NoDiskSpaceMsg1
  125.     (cat "\nThere is insufficient available space on your hard disk to install "
  126.         #ProgName ". You will need a minimum of "
  127.     )
  128. )
  129.  
  130. (set #NoDiskSpaceMsg2
  131.     (cat "MB of free disk space.\n\nEither click \"Abort Install\" to exit this "
  132.         "installation and delete some files from your hard disk, or click \"Proceed\" and try a "
  133.         "different partition."
  134.     )
  135. )
  136.  
  137. (set #DrawerExistsMsg
  138.     (cat "\nA drawer titled \"" #DrawerName "\" already exists in "
  139.         "the destination you have chosen.\n\nDo you wish to replace it "
  140.         "or choose a new destination?\n\n"
  141.     )
  142. )
  143.  
  144. (set #DrawerExistsChoice1 "Replace it")
  145.  
  146. (set #DrawerExistsChoice2 "Choose new destination")
  147.  
  148. (set #DrawerExistsHelp
  149.     (cat "\nYou have chosen a destination drawer which already has \""
  150.         #DrawerName "\" installed there.\n\nClick \""
  151.         #DrawerExistsChoice1 "\" to replace the contents with this new version "
  152.         "of " #ProgName ".\nClick \"" #DrawerExistsChoice2 "\" to choose a "
  153.         "new destination drawer.\n\n"
  154.         "If you choose \"" #DrawerExistsChoice1 "\" then please make sure you "
  155.         "have back up copies of any documents you wish to keep."
  156.     )
  157. )
  158.  
  159. (set #InstallChoice1 "Yes - Replace it")
  160.  
  161. (set #InstallChoice2 "No")
  162.  
  163. (set #OldASLLibraryMsg
  164.     (cat "You either do not have an ASL library, or it is the wrong version. "
  165.         #ProgName " requires you have at least version 36 of this "
  166.         "library. Do you want to copy version 38 of the ASL library?"
  167.     )
  168. )
  169.  
  170. (set #OldASLLibraryHelp
  171.     (cat #ProgName " will not work properly unless you have at least version 36 "
  172.         "of the ASL library (Workbench 2.0 or above).\n\n"
  173.         "Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
  174.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  175.         "ASL library version 38."
  176.     )
  177. )
  178.  
  179. (set #OldCommoditiesLibraryMsg
  180.     (cat "You either do not have an Commodities library, or it is the wrong version. "
  181.         #ProgName " requires you have at least version 37 of this "
  182.         "library. Do you want to copy version 38 of the Commodities library?"
  183.     )
  184. )
  185.  
  186. (set #OldCommoditiesLibraryHelp
  187.     (cat #ProgName " will not work properly unless you have at least version 37 "
  188.         "of the Commodities library (Workbench 2.0 or above).\n\n"
  189.         "Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
  190.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  191.         "Commodities library version 38."
  192.     )
  193. )
  194.  
  195. (set #OldDiskFontLibraryMsg
  196.     (cat "You either do not have an DiskFont library, or it is the wrong version. "
  197.         #ProgName " requires you have at least version 36 of this "
  198.         "library. Do you want to copy version 38 of the DiskFont library?"
  199.     )
  200. )
  201.  
  202. (set #OldDiskFontLibraryHelp
  203.     (cat #ProgName " will not work properly unless you have at least version 36 "
  204.         "of the DiskFont library (Workbench 2.0 or above).\n\n"
  205.         "Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
  206.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  207.         "DiskFont library version 38 and quit this installer."
  208.     )
  209. )
  210.  
  211. (set #OldAmigaGuideLibraryMsg
  212.     (cat "You either do not have an AmigaGuide library, or it is the wrong version. "
  213.         #ProgName " requires you have at least version 34.11 of this "
  214.         "library. Do you want to copy version 34.11 of the AmigaGuide library?"
  215.     )
  216. )
  217.  
  218. (set #OldAmigaGuideLibraryHelp
  219.     (cat #ProgName " will not work properly unless you have at least version 34.11 "
  220.         "of the AmigaGuide library.\n\n"
  221.         "Choose \"" #InstallChoice1 "\" to copy version 34.11 of the library "
  222.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  223.         "AmigaGuide library version 34.11."
  224.     )
  225. )
  226.  
  227. (set #OldLocaleLibraryMsg
  228.     (cat "You either do not have an Locale library, or it is the wrong version. "
  229.         #ProgName " requires you have at least version 38 of this "
  230.         "library. Do you want to copy version 38 of the Locale library?"
  231.     )
  232. )
  233.  
  234. (set #OldLocaleLibraryHelp
  235.     (cat #ProgName " will not work properly unless you have at least version 38 "
  236.         "of the Locale library (Workbench 2.1 or above).\n\n"
  237.         "Choose \"" #InstallChoice1 "\" to copy version 38 of the library "
  238.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  239.         "Locale library version 38."
  240.     )
  241. )
  242.  
  243. (set #OldParseLibraryMsg
  244.     (cat "You either do not have an IffParse library, or it is the wrong version. "
  245.         #ProgName " requires you have at least version 33 of this "
  246.         "library. Do you want to copy version 34 of the IffParse library?"
  247.     )
  248. )
  249.  
  250. (set #OldParseLibraryHelp
  251.     (cat #ProgName " will not work properly unless you have at least version 33 "
  252.         "of the IffParse library (Workbench 1.2 or above).\n\n"
  253.         "Choose \"" #InstallChoice1 "\" to copy version 34 of the library "
  254.         "and then install " #ProgName ".\nChoose \"" #InstallChoice2 "\" to not install "
  255.         "IffParse library version 34."
  256.     )
  257. )
  258.  
  259.  
  260. (set #InsertDiskMsg
  261.     (cat "\nPlease insert the disk labelled\n\n")
  262. )
  263.  
  264. (set #diskhelp
  265.     (cat "\nIf you know that the correct disk is in the drive, but you still cannot proceed, "
  266.         "then the name of the disk is incorrect.\n"
  267.         "Ensure that the disk name is not preceded by 'copy_of_', or blank spaces before or after the disk name.\n\n\n" @askdisk-help
  268.     )
  269. )
  270.  
  271. (set #Unpackmsg1 "Unarchiving ")
  272. (set #Unpackmsg2 " to ")
  273. (set #Unpackmsg3 "\n\nPlease wait...")
  274.  
  275. (set #ArchiveAbortMsg1
  276.     (cat "There was a problem when trying to dearchive '")
  277. )
  278.  
  279. (set #ArchiveAbortMsg2
  280.     (cat "'. Please try installing to a different drawer or partition, "
  281.         "or contact Digita Technical Support."
  282.     )
  283. )
  284.  
  285. (set #BlankDiskWarning
  286.     (cat "\nPlease insert a 'blank' disk in the internal\n"
  287.         "disk drive and click \"Proceed\" when ready."
  288.         "\n\nWARNING: This procedure will destroy all information "
  289.         "that may already be on the disk."
  290.     )
  291. )
  292.  
  293.  
  294. (set #FloppyWarningHelp
  295.     (cat     "\nThis procedure uses the 'format' command to "
  296.         "wipe and prepare the disk in the internal disk drive "
  297.         "for use with Organiser."
  298.         "\n\nWrite-protect your master disks before making "
  299.         "backup copies and place the masters in a safe place."
  300.         "\n\nYou should also write-protect your backup disks "
  301.         "before clicking the \"Proceed\" button."
  302.     )
  303. )
  304.  
  305. (set #NotBlankMsg1
  306.     (cat "\nYou have the \"")
  307. )
  308.  
  309. (set #NotBlankMsg2
  310.     (cat "\" disk in your internal disk drive.\n\nPlease "
  311.         "replace this disk with a blank one, before "
  312.         "clicking the \"Proceed\" button."
  313.     )
  314. )
  315.  
  316. (set #FormatWorkingMsg
  317.     (cat "Please wait... Formatting a disk.")
  318. )
  319.  
  320. (set #FormatError
  321.     (cat     "\nAn error occured when trying to format this disk.\n\n"
  322.         "Please ensure that the disk is in the disk drive "
  323.         "before you click the \"Proceed\" button or "
  324.         "put another disk in the drive and try again."
  325.     )
  326. )
  327.  
  328. (set #FormatErrorHelp
  329.     (cat "\nAn error has occured during the formatting of "
  330.         "your disk. This could be for many reasons, but more "
  331.         "commonly, either the disk was corrupt or the drive was "
  332.         "faulty.\nPlease try a different disk, check the drive "
  333.         "and then if the problem persists, contact the Technical "
  334.         "Support Department. Information on how to get Support is "
  335.         "explained in the manual."
  336.     )
  337. )
  338.  
  339. (set #FormatCompleteMsg1
  340.     (cat " created.\n\nPlease take out the disk "
  341.         "in the internal disk drive and label it \""
  342.     )
  343. )
  344.  
  345. (set #FormatCompleteMsg2
  346.     (cat "\", then click the \"Proceed\" button.")
  347. )
  348.  
  349. (set #FormatChoiceprompt
  350.     (cat "\n" #ProgName " needs to format and name two disks during installation. "
  351.         "For more information click 'Help'. Do you wish to:"
  352. ))
  353.  
  354. (set #FormatChoicemsg1 "Slow Format Some Blank Disks")
  355.  
  356. (set #FormatChoicemsg2 "Quick Format Some Blank Disks")
  357.  
  358. (set #FormatChoice-Help
  359.     (cat "This installation utility needs to prepare two disks before installing "
  360.         #ProgName ". Before each disk is created, it will be formatted and named. "
  361.         "\n\nChoose '" #FormatChoicemsg1 "' if you wish to perform a full format, or \nchoose "
  362.         "'" #FormatChoicemsg2 "' to perform a quick format on disks that must have been "
  363.         "previously formatted as Fast File System disks."
  364. ))
  365.  
  366. (set #FloppyFinishedMsg
  367.     (cat "\nAfter clicking the 'Proceed' button, place the \"" #MainDisk
  368.         "\" disk in the internal disk drive and reset your Amiga.\n"
  369.     )
  370. )
  371.  
  372. (set #WorkingMsg (cat "Please wait...\n\nInstalling " #ProgName))
  373.  
  374. (set #CreateDiskPrompt1 "\n\nDo you want to create the '")
  375. (set #CreateDiskPrompt2 "' disk?")
  376.  
  377. (set #ChoiceContinue "Yes")
  378.  
  379. (set #ChoiceSkip "Skip this part")
  380.  
  381. (set #CreateDiskHelp
  382.     (cat "\nThe '" #MainDisk "' disk contains all of the "
  383.         #ProgName " program files. \n\nIf you would like to create a "
  384.         #MainDisk " disk then click '" #ChoiceContinue "'.\nIf you do "
  385.         "not want to create this disk then click '" #ChoiceSkip "'."
  386.     )
  387. )
  388.  
  389. (set #CreateFilesDiskHelp
  390.     (cat "\nThe '" #FilesDisk "' disk contains the Supplements, Diary themes "
  391.         "and Templates. \n\nIf you would like to create a "
  392.         #FilesDisk " disk then click '" #ChoiceContinue "'.\nIf you do "
  393.         "not want to create this disk then click '" #ChoiceSkip "'."
  394.     )
  395. )
  396.  
  397. (set #AskLocaleCmd "Assign >NIL: LOCALE: SYS:Locale")
  398.  
  399. (set #AskLocaleMsg
  400.     (cat "It appears Locale is not set up correctly on your hard-disk, " #ProgName
  401.          " requires this to function properly.\n\n"
  402.          "An assign needs to be added to your 'User-Startup' "
  403.          "script:\n\n'" #AskLocaleCmd "'\n\nClick Proceed to continue."
  404.     )
  405. )
  406.  
  407. (set #AskLocaleHelp
  408.     (cat "For the Date and Time functions to work properly, " #ProgName " Requires "
  409.         "Locale to be set up correctly on your hard-disk, part of this involves "
  410.         "adding a LOCALE assign to your User-Startup script.\n\nClick "
  411.         "Proceed if you want the installer to do this automatically, or "
  412.         "click 'Skip This Part' to not modify the User-Startup."
  413.     )
  414. )
  415.  
  416.  
  417. (set #PrinterChoicePrompt
  418.     (cat "\n\nDo you wish to install a printer driver?"
  419.     )
  420. )
  421.  
  422. (set #PrinterChoicemsg1 "Yes")
  423. (set #PrinterChoicemsg2 "No")
  424.  
  425. (set #PrinterChoice-Help
  426.     (cat "To print from " #ProgName " you need to have the correct printer driver selected for your "
  427.          "printer.\nClick the '" #PrinterChoicemsg1 "' button if you wish to install a printer "
  428.          "driver, or the '" #PrinterChoicemsg2 "' button if you do not want to install a printer "
  429.          "driver."
  430.     )
  431. )
  432.  
  433.  
  434.  
  435. ;------------------------------------------------------
  436. ; ### Procedure declarations
  437.  
  438. ;------------------------------------------------------
  439. ;// routine to get disk specified in '#FileSourceDisk'
  440. (procedure @GetDisk
  441.     (
  442.         (askdisk
  443.             (prompt #InsertDiskMsg #FileSourceDisk)
  444.             (help #diskhelp)
  445.             (dest #FileSourceDisk)
  446.         )
  447.     )
  448. )
  449.  
  450. ;------------------------------------------------------
  451. ;// Procedure to decompress file set in '#UnpackFile' to '#UnpackDest'
  452. (procedure @UnpackFiles
  453.     (
  454.       (working #Unpackmsg1 #UnpackFile #Unpackmsg2 #UnpackDest #Unpackmsg3)
  455.         (set ExpandName #UnpackFile)
  456.         (set #ArchiveError 0)
  457.         (set RunLhx
  458.             (cat "OrgUtils:Lhx -I -m e \"" ExpandName "\" \"" #UnpackDest "\"")
  459.         )
  460.         (set #ArchiveError (run RunLhx))
  461.         (if (> #ArchiveError 0)
  462.             (
  463.                 (set #ArchiveAbortMsg (cat #ArchiveAbortMsg1 ExpandName #ArchiveAbortMsg2))
  464.                 (abort #ArchiveAbortMsg)
  465.             )
  466.         )
  467.     )
  468. )
  469.  
  470. ;------------------------------------------------------
  471. ;// Initial Checks
  472. (procedure @InitialChecks
  473.     (
  474.         ;// Check OS version
  475.         (working #CheckStartup)
  476.  
  477.         (set #OSVerNum (getversion))
  478.         (set #OSVersion (/ #OSVerNum 65536))
  479.  
  480.         (if (< #OSVersion 37)
  481.             (abort #BadKick)
  482.         )
  483.  
  484.         ;// Create temp file in ram: for files
  485.         (if (not (exists #RamTempFile))
  486.             (
  487.                 (makedir #RamTempFile (safe))
  488.             )
  489.         )
  490.     (makeassign "OrgTemp" #RamTempFile (safe))
  491.  
  492.         ;// Create temp file in ram: for utils
  493.         (if (not (exists #RamUtils))
  494.             (
  495.                 (makedir #RamUtils (safe))
  496.             )
  497.         )
  498.     (makeassign "OrgUtils" #RamUtils (safe))
  499.  
  500.     ;// Set flag if novice user
  501.     (set #UserNovice 0)
  502.     (if (= @user-level 0)
  503.       (
  504.         (set #UserNovice 1)
  505.       )
  506.     )
  507.       (copyfiles
  508.             (source (cat #InstallDisk ":Utils"))
  509.             (dest "OrgUtils:")
  510.             (all)
  511.             (nogauge)
  512.             (optional "nofail")
  513.         )
  514.       ;// don't copy delete to OrgUtils, as it is used to delete OrgUtils!
  515.       (copyfiles
  516.             (source (cat #InstallDisk ":c"))
  517.             (dest "Ram:")
  518.             (pattern "delete")
  519.             (nogauge)
  520.             (optional "nofail")
  521.         )
  522.       (copyfiles
  523.             (source (cat #InstallDisk ":System"))
  524.             (dest "OrgUtils:")
  525.             (pattern "format")
  526.             (nogauge)
  527.             (optional "nofail")
  528.         )
  529.     )
  530. )
  531.  
  532. ;------------------------------------------------------
  533. ;// Check that ASL library is at least v36 (if not replace)
  534. (procedure @CheckASL
  535.     (
  536.         (set ASLVerNum (getversion (cat #LibsDefault ":ASL.library")))
  537.         (set ASLVer (/ ASLVerNum 65536))
  538.         (if (< ASLVer 36)
  539.             (
  540.         (if (= @user-level 2)
  541.             (
  542.                 (set InstallASLLibrary
  543.                   (askbool
  544.                        (prompt #OldASLLibraryMsg)
  545.                        (choices #InstallChoice1 #InstallChoice2)
  546.                        (help #OldASLLibraryHelp)
  547.                        (default 1)
  548.                   )
  549.                     )
  550.                 (if (= InstallASLLibrary 1)
  551.                      (
  552.                        (@InstallASL)
  553.                   )
  554.                 )
  555.               )
  556.               (
  557.                   (@InstallASL)
  558.               )
  559.             )
  560.           )
  561.         ) ;endif
  562.     )
  563. )
  564.  
  565. ;------------------------------------------------------
  566. ;// Procedure to install the asl library
  567. (procedure @InstallASL
  568.     (
  569.     (set #UnpackFile (cat #ArchiveLocation #ASLArchiveName))
  570.     (set #UnpackDest #LibsDest)
  571.  
  572.         (if (exists (cat #UnpackDest "asl.library"))
  573.             (delete (cat #UnpackDest "asl.library")
  574.                 (optional "force")
  575.             )
  576.         )
  577.     (@UnpackFiles)
  578.     )
  579. )
  580.  
  581. ;------------------------------------------------------
  582. ;// Check that Locale library is at least v38 (if not replace)
  583. (procedure @CheckLocale
  584.     (
  585.         (set LocaleVerNum (getversion (cat #LibsDefault ":Locale.library")))
  586.         (set LocaleVer (/ LocaleVerNum 65536))
  587.         (if (< LocaleVer 38)
  588.             (
  589.         (if (= @user-level 2)
  590.             (
  591.                 (set InstallLocaleLibrary
  592.                   (askbool
  593.                        (prompt #OldLocaleLibraryMsg)
  594.                        (choices #InstallChoice1 #InstallChoice2)
  595.                        (help #OldLocaleLibraryHelp)
  596.                        (default 1)
  597.                   )
  598.                     )
  599.                 (if (= InstallLocaleLibrary 1)
  600.                      (
  601.                        (@InstallLocale)
  602.                   )
  603.                 )
  604.               )
  605.               (
  606.                   (@InstallLocale)
  607.               )
  608.             )
  609.           )
  610.         ) ;endif
  611.     )
  612. )
  613.  
  614. ;------------------------------------------------------
  615. ;// Procedure to install the locale library
  616. (procedure @InstallLocale
  617.     (
  618.         (if (exists (cat #LibsDefault ":locale.library"))
  619.             (
  620.                 (delete (cat #LibsDefault ":locale.library")
  621.                     (optional "force")
  622.                 )
  623.             )
  624.         )
  625.  
  626.         (copyfiles
  627.             (source #LibsSource)
  628.             (dest (cat #LibsDefault ":"))
  629.             (pattern "locale.library")
  630.             (optional "force")
  631.         )
  632.     )
  633. )
  634.  
  635.  
  636. ;------------------------------------------------------
  637. ;// Check that IFFParse library is at least v33 (if not replace)
  638. (procedure @CheckParse
  639.     (
  640.         (set ParseVerNum (getversion (cat #LibsDefault ":iffparse.library")))
  641.         (set ParseVer (/ ParseVerNum 65536))
  642.         (if (< ParseVer 33)
  643.             (
  644.         (if (= @user-level 2)
  645.             (
  646.                 (set InstallParseLibrary
  647.                   (askbool
  648.                        (prompt #OldParseLibraryMsg)
  649.                        (choices #InstallChoice1 #InstallChoice2)
  650.                        (help #OldParseLibraryHelp)
  651.                        (default 1)
  652.                   )
  653.                     )
  654.                 (if (= InstallParseLibrary 1)
  655.                      (
  656.                        (@InstallParse)
  657.                   )
  658.                 )
  659.               )
  660.               (
  661.                   (@InstallParse)
  662.               )
  663.             )
  664.           )
  665.         ) ;endif
  666.     )
  667. )
  668.  
  669. ;------------------------------------------------------
  670. ;// Procedure to install the iffparse library
  671. (procedure @InstallParse
  672.     (
  673.         (if (exists (cat #LibsDefault ":iffparse.library"))
  674.             (
  675.                 (delete (cat #LibsDefault ":iffparse.library")
  676.                     (optional "force")
  677.                 )
  678.             )
  679.         )
  680.  
  681.         (copyfiles
  682.             (source #LibsSource)
  683.             (dest (cat #LibsDefault ":"))
  684.             (pattern "iffparse.library")
  685.             (optional "force")
  686.         )
  687.     )
  688. )
  689.  
  690.  
  691. ;------------------------------------------------------
  692. ;// Check that diskfont library is at least v36 (if not replace)
  693. (procedure @CheckDiskFont
  694.     (
  695.         (set DFVerNum (getversion (cat #LibsDefault ":diskfont.library")))
  696.         (set DFVer (/ DFVerNum 65536))
  697.         (if (< DFVer 36)
  698.             (
  699.         (if (= @user-level 2)
  700.             (
  701.                 (set InstallDiskFontLibrary
  702.                   (askbool
  703.                        (prompt #OldDiskFontLibraryMsg)
  704.                        (choices #InstallChoice1 #InstallChoice2)
  705.                        (help #OldDiskFontLibraryHelp)
  706.                        (default 1)
  707.                   )
  708.                     )
  709.                 (if (= InstallDiskFontLibrary 1)
  710.                      (
  711.                        (@InstallDiskFont)
  712.                   )
  713.                 ) ;end if
  714.               )
  715.               (
  716.                   (@InstallDiskFont)
  717.               )
  718.             ) ;end if
  719.           )
  720.         ) ;endif
  721.     )
  722. )
  723.  
  724. ;------------------------------------------------------
  725. ;// Procedure to install diskfont library
  726. (procedure @InstallDiskFont
  727.     (
  728.     (set #UnpackFile (cat #ArchiveLocation #DiskfontArchiveName))
  729.     (set #UnpackDest #LibsDest)
  730.         (if (exists (cat #UnpackDest "diskfont.library"))
  731.             (delete (cat #UnpackDest "diskfont.library")
  732.                 (optional "force")
  733.             )
  734.         )
  735.     (@UnpackFiles)
  736.   )
  737. )
  738.  
  739. ;------------------------------------------------------
  740. ;** Check that AmigaGuide library is at least version 34.11 (if not replace)
  741. (procedure @CheckAmigaGuide
  742.     (
  743.         (set AGVerNum (getversion (cat #LibsDefault ":amigaguide.library")))
  744.         (set AGVer (/ AGVerNum 65536))
  745.         (set AGRev (- AGVerNum (* AGVer 65536)))
  746.         (if (< AGVer 35)
  747.             (
  748.         (if (< AGRev 11)
  749.             (
  750.                 (if (= @user-level 2)
  751.                     (
  752.                         (set InstallAmigaGuideLibrary
  753.                           (askbool
  754.                                (prompt #OldAmigaGuideLibraryMsg)
  755.                                (choices #InstallChoice1 #InstallChoice2)
  756.                                (help #OldAmigaGuideLibraryHelp)
  757.                                (default 1)
  758.                           )
  759.                             )
  760.                         (if (= InstallAmigaGuideLibrary 1)
  761.                              (
  762.                                (@InstallAmigaGuide)
  763.                           )
  764.                         );end if
  765.                       )
  766.                       (
  767.                           (@InstallAmigaGuide)
  768.                       )
  769.                     ) ;end if (user-level)
  770.                   )
  771.                 ) ;end if (revision)
  772.           )
  773.         ) ;end if (version)
  774.     )
  775. )
  776.  
  777. ;------------------------------------------------------
  778. ;// Procedure to install amigaguide library
  779. (procedure @InstallAmigaGuide
  780.     (
  781.     (set #UnpackFile (cat #ArchiveLocation #AmigaGuideArchiveName))
  782.     (set #UnpackDest #LibsDest)
  783.         (if (exists (cat #UnpackDest "amigaguide.library"))
  784.             (delete (cat #UnpackDest "amigaguide.library")
  785.                 (optional "force")
  786.             )
  787.         )
  788.     (@UnpackFiles)
  789.   )
  790. )
  791.  
  792. ;------------------------------------------------------
  793. ;// Check that commodities library is at least v37 (if not replace)
  794. (procedure @CheckCommodities
  795.     (
  796.         (set CommoditiesVerNum (getversion (cat #LibsDefault ":commodities.library")))
  797.         (set CommoditiesVer (/ CommoditiesVerNum 65536))
  798.         (if (< CommoditiesVer 37)
  799.             (
  800.         (if (= @user-level 2)
  801.             (
  802.                 (set InstallCommoditiesLibrary
  803.                   (askbool
  804.                        (prompt #OldCommoditiesLibraryMsg)
  805.                        (choices #InstallChoice1 #InstallChoice2)
  806.                        (help #OldCommoditiesLibraryHelp)
  807.                        (default 1)
  808.                   )
  809.                     )
  810.                 (if (= InstallCommoditiesLibrary 1)
  811.                      (
  812.                        (@InstallCommodities)
  813.                   )
  814.                 )
  815.               )
  816.               (
  817.                   (@InstallCommodities)
  818.               )
  819.             )
  820.           )
  821.         ) ;endif
  822.     )
  823. )
  824.  
  825. ;------------------------------------------------------
  826. ;// Procedure to install the commodities library
  827. (procedure @InstallCommodities
  828.     (
  829.     (set #UnpackFile (cat #ArchiveLocation #CommoditiesArchiveName))
  830.     (set #UnpackDest #LibsDest)
  831.  
  832.         (if (exists (cat #UnpackDest "commodities.library"))
  833.             (delete (cat #UnpackDest "commodities.library")
  834.                 (optional "force")
  835.             )
  836.         )
  837.     (@UnpackFiles)
  838.     )
  839. )
  840.  
  841. ;------------------------------------------------------
  842. ;// Procedure to de-archive screen fonts
  843. (procedure @DearchiveScreenFonts
  844.     (
  845.     (set #UnpackFile (cat #ArchiveLocation #SystemFontsArchiveName))
  846.         (set #UnpackDest #SystemFontsDest)
  847.         (@UnpackFiles)
  848.   )
  849. )
  850.  
  851. ;------------------------------------------------------
  852. ;// Procedure to de-archive Env-Archive files
  853. (procedure @DearchiveEnv-Archive
  854.     (
  855.     (set #UnpackFile (cat #ArchiveLocation #Env-ArchiveArchiveName))
  856.         (set #UnpackDest #Env-ArchiveDest)
  857.         (@UnpackFiles)
  858.   )
  859. )
  860.  
  861. ;------------------------------------------------------
  862. ;// Procedure to de-archive Env files
  863. (procedure @DearchiveEnv
  864.     (
  865.     (set #UnpackFile (cat #ArchiveLocation #Env-ArchiveArchiveName))
  866.         (set #UnpackDest "ENV:")
  867.         (@UnpackFiles)
  868.   )
  869. )
  870.  
  871.  
  872. ;------------------------------------------------------
  873. ;// Install to HD or Floppy ?
  874. (procedure @CheckHDorFloppy
  875.     (
  876.         ;// Floppy or HD ?
  877.         (set #FullPath (expandpath "sys:"))
  878.         (if (= #FullPath (cat #InstallDisk ":"))
  879.             (set #DiskDefault 1)
  880.             (set #DiskDefault 0)
  881.         )
  882.  
  883.  
  884.     ;** set novice user to expert briefly
  885.     (set #UserNovice 0)
  886.     (if (= @user-level 0)
  887.       (
  888.         (user 2)
  889.         (set #UserNovice 1)
  890.       )
  891.     )
  892.       (set #DestinationType
  893.       (askchoice
  894.         (prompt #DestChoicePrompt)
  895.         (choices #HardDiskChoiceMsg
  896.              #FloppyChoiceMsg
  897.         )
  898.         (help #DestChoiceHelp)
  899.         (default #DiskDefault)
  900.       )
  901.     )
  902.     ;** set novice user back to novice
  903.     (if (= #UserNovice 1)
  904.       (user 0)
  905.     )
  906.  
  907.     (if (= #DestinationType 0)
  908.         (set #DestinationType "Hard")
  909.         (set #DestinationType "Floppy")
  910.     )
  911.     )
  912. )
  913.  
  914. ;------------------------------------------------------
  915. ;// Choose hard disk destination for Organiser drawer
  916. (procedure @ChooseHDDest
  917.     (
  918.         ;** Find default drawer
  919.         (set #DefaultDest (getassign "Work" "d"))
  920.         (if (= #DefaultDest "")
  921.             (
  922.                 (set #DefaultDest (getassign "HD3" "d"))
  923.                 (if (= #DefaultDest "")
  924.                     (
  925.                         (set #DefaultDest (getassign "HD2" "d"))
  926.                         (if (= #DefaultDest "")
  927.                 (
  928.                 (set #DefaultDest (getassign "HD1" "d"))
  929.                 (if (= #DefaultDest "")
  930.                   (
  931.                     (set #DefaultDest (getassign "DH1" "d"))
  932.                     (if (= #DefaultDest "")
  933.                       (
  934.                         (set #DefaultDest (getassign "HD0" "d"))
  935.                         (if (= #DefaultDest "")
  936.                           (
  937.                             (set #DefaultDest "DH0:")
  938.                             (if (= #UserNovice 1)
  939.                               (user 2)
  940.                             )
  941.                           )
  942.                         )
  943.                       )
  944.                     )
  945.                   )
  946.                 )
  947.               )
  948.             )
  949.           )
  950.         )
  951.             )
  952.         )
  953.         ;** Ask for destination
  954.         (set #DestDrawer
  955.             (askdir
  956.                 (prompt #HardDiskDestChoiceMsg)
  957.                 (help #HardDiskDestChoiceHelp)
  958.                 (default #DefaultDest)
  959.             )
  960.         )
  961.     (if (= #UserNovice 1)
  962.       (user 0)
  963.     )
  964.     )
  965. )
  966.  
  967.  
  968. ;------------------------------------------------------
  969. ;// Find HD Destination and check enough space
  970. (procedure @FindHDDest
  971.     (
  972.         (set OrgExists 0)
  973.     (while (= OrgExists 0)
  974.             (
  975.           (@ChooseHDDest)
  976.           (while (< (getdiskspace #DestDrawer) #HDSpaceNeededBytes)
  977.             (
  978.               (if (< (getdiskspace #DestDrawer) #HDSpaceNeededBytes)
  979.                 (
  980.                             (if (= @user-level 0)
  981.                               (
  982.                                 (user 2)
  983.                                 (set #UserNovice 1)
  984.                               )
  985.                             )
  986.                   (message #NoDiskSpaceMsg1 (/ (/ #HDSpaceNeededBytes 1024) 1024) #NoDiskSpaceMsg2)
  987.                   (@ChooseHDDest)
  988.                 )
  989.                  )
  990.             )
  991.             ) ;end while
  992.             (@CheckExistsAlready)
  993.         )
  994.       );end while
  995.     (if (= #UserNovice 1)
  996.       (user 0)
  997.     )
  998.     )
  999. )
  1000.  
  1001. ;------------------------------------------------------
  1002. ;// Procedure to check if Organiser exists already in destination
  1003. ;// Replace or choose again if so
  1004. (procedure @CheckExistsAlready
  1005.     (
  1006.     (if (exists (tackon #DestDrawer #DrawerName))
  1007.       (
  1008.         (set ChooseAgainAnswer
  1009.           (askbool
  1010.             (prompt #DrawerExistsMsg)
  1011.             (choices #DrawerExistsChoice1 #DrawerExistsChoice2)
  1012.             (help #DrawerExistsHelp)
  1013.             (default 1)
  1014.           )
  1015.         )
  1016.         (if (= ChooseAgainAnswer 0)
  1017.           (
  1018.             (set OrgExists 0)
  1019.           )
  1020.           (
  1021.             (set OrgExists 1)
  1022.           )
  1023.         )
  1024.       )
  1025.       (;else
  1026.         (set OrgExists 1)
  1027.       )
  1028.     );endif
  1029.     )
  1030. )
  1031.  
  1032. ;------------------------------------------------------
  1033. ;// Create Organiser drawers in chosen destination
  1034. (procedure @CreateDrawers
  1035.     (
  1036.         (working #WorkingMsg)
  1037.         (set #InsideHDDest (tackon #DestDrawer #DrawerName))
  1038.         ;// Make the Organiser drawer
  1039.         (makedir #InsideHDDest (infos))
  1040.  
  1041.         ;// Make the Supplements Storage drawer
  1042.         (set #HDSuppStorageDest (tackon #InsideHDDest #SuppStorageName))
  1043.         (makedir #HDSuppStorageDest (infos))
  1044.  
  1045.         ;// Make the Supplements drawer
  1046.         (set #HDSupplementsDest (tackon #InsideHDDest #SupplementsName))
  1047.         (makedir #HDSupplementsDest (infos))
  1048.  
  1049.         ;// Make the Files drawer
  1050.         (set #HDFilesDest (tackon #InsideHDDest #FilesName))
  1051.         (makedir #HDFilesDest)
  1052.  
  1053.         ;// Make the Themes drawer
  1054.         (set #HDThemesDest (tackon #InsideHDDest #ThemesName))
  1055.         (makedir #HDThemesDest (infos))
  1056.  
  1057.         ;// Make the Samples drawer
  1058.         (set #HDSamplesDest (tackon #InsideHDDest #SamplesName))
  1059.         (makedir #HDSamplesDest (infos))
  1060.  
  1061.         ;// Make the Templates drawer
  1062.         (set #HDTemplatesDest (tackon #InsideHDDest #TemplatesName))
  1063.         (makedir #HDTemplatesDest (infos))
  1064.  
  1065.         ;// Make the Catalogs drawer
  1066.         (set #HDCatalogsDest (tackon #InsideHDDest #CatalogsName))
  1067.         (makedir #HDCatalogsDest)
  1068.     )
  1069. )
  1070.  
  1071. ;------------------------------------------------------
  1072. ;// set up hard drive destinations
  1073. (procedure @SetUpHDProgDests
  1074.     (
  1075.         (working #WorkingMsg)
  1076.         (set #LibsDest (cat #LibsDefault ":"))
  1077.         (set #ProgDest (cat #InsideHDDest "/"))
  1078.         (set #SupplementsDest (cat #HDSupplementsDest "/"))
  1079.         (set #SuppStorageDest (cat #HDSuppStorageDest "/"))
  1080.         (set #FilesDest (cat #HDFilesDest "/"))
  1081.         (set #ThemesDest (cat #HDThemesDest "/"))
  1082.         (set #TemplatesDest (cat #HDTemplatesDest "/"))
  1083.         (set #SystemFontsDest "Fonts:")
  1084.         (set #Env-ArchiveDest "Sys:Prefs/Env-Archive/")
  1085.         (set #SamplesDest (cat #HDSamplesDest "/"))
  1086.         (set #HelpDest (cat #HDFilesDest "/"))
  1087.         (set #OrgToolDest (cat #ProgDest #ProgName))
  1088.     )
  1089. )
  1090.  
  1091. ;------------------------------------------------------
  1092. ;// set up floppy disk destinations
  1093. (procedure @SetUpFloppyProgDests
  1094.     (
  1095.         (set #ProgDest (cat #MainDisk ":"))
  1096.         (set #SupplementsDest (cat #MainDisk ":" #SupplementsName "/"))
  1097.         (set #SuppStorageDest (cat #FilesDisk ":" #SuppStorageName "/"))
  1098.         (set #ThemesDest (cat #FilesDisk ":" #ThemesName "/"))
  1099.         (set #TemplatesDest (cat #FilesDisk ":" #TemplatesName "/"))
  1100.         (set #FilesDest (cat #MainDisk ":" #FilesName "/"))
  1101.         (set #SystemFontsDest (cat #MainDisk ":" #FontsName "/"))
  1102.         (set #Env-ArchiveDest (cat #MainDisk ":Prefs/Env-Archive/"))
  1103.         (set #LibsDest (cat #MainDisk ":Libs/"))
  1104.         (set #SamplesDest (cat #MainDisk ":" #SamplesName "/"))
  1105.         (set #HelpDest (cat #FilesDisk ":Help/"))
  1106.         (set #OrgToolDest (cat #MainDisk ":" #ProgName))
  1107.     )
  1108. )
  1109.  
  1110. ;------------------------------------------------------
  1111. ;// Check to make sure that none of the Organiser disks
  1112. ;// are in the internal drive before creating blank ones.
  1113. (procedure @CheckDisks
  1114.     (
  1115.         (set #NumberDisks (+ #NumberInstallDisks #NumNewDisks))
  1116.         (set #DiskBlank 1)
  1117.         (set n 0)
  1118.         (until (OR (= n #NumberDisks) (= #DiskBlank 0))
  1119.             (
  1120.                 (set #CheckMainDisk
  1121.                     (select n
  1122.                         #InstallDisk
  1123.                         #MainDisk
  1124.                         #FilesDisk
  1125.                     )
  1126.                 )
  1127.                 (if (= (getassign "df0" "d") (cat #CheckMainDisk ":"))
  1128.                     (    ;disk is not blank
  1129.                         (set #DiskBlank 0)
  1130.                     )
  1131.                 )
  1132.                 (set n (+ n 1))
  1133.             )
  1134.         )
  1135.     )
  1136. )
  1137.  
  1138.  
  1139. ;------------------------------------------------------
  1140. ;// Format and name the disk given in #FormatMainDisk
  1141. (procedure @FormatDisk
  1142.     (
  1143.         (working #FormatWorkingMsg)
  1144.         ;*** USE 2.0 FORMAT COMMAND ***
  1145.         (if (= #FormatChoice 0)
  1146.             (
  1147.                 (set #FormatCheck
  1148.                     (run ("OrgUtils:Format drive=df0: name=%s FFS NOICONS" #FormatMainDisk))
  1149.                 )
  1150.             )
  1151.             (
  1152.                 (set #FormatCheck
  1153.                     (run ("OrgUtils:Format drive=df0: name=%s FFS QUICK NOICONS" #FormatMainDisk))
  1154.                 )
  1155.             )
  1156.         )
  1157.     (if (OR (> #FormatCheck 0) (< #FormatCheck 0))
  1158.         (set #NoError 1)
  1159.            (set #NoError 0)
  1160.     )
  1161.         (if (= #NoError 0)
  1162.             (
  1163.                 (if (= #FormatMainDisk #MainDisk)
  1164.                     (run "OrgUtils:Install2.1 df0:")
  1165.                 )
  1166.             )
  1167.         ); endif
  1168.     )
  1169. )
  1170.  
  1171. ;------------------------------------------------------
  1172. ;// routine to check disk in drive ok and format it if so
  1173. (procedure @Makedisk
  1174.     (
  1175.     (set #NoError 1)
  1176.     (while (= #NoError 1)
  1177.         (
  1178.             ;** Make sure that the install disks are not in the drive
  1179.             (run "OrgUtils:Wait 6")  ;Wait a bit for disk access to stop
  1180.             (@CheckDisks)
  1181.             (if (= #DiskBlank 0)
  1182.               (
  1183.                 (message #NotBlankMsg1 #CheckMainDisk #NotBlankMsg2)
  1184.               )
  1185.               (
  1186.                 (set #NoError 1)
  1187.                 (@FormatDisk)
  1188.                 (if (= #NoError 1)
  1189.                   (
  1190.                     (message #FormatError (help #FormatErrorHelp))
  1191.                   )
  1192.                 );endif
  1193.               )
  1194.             );endif
  1195.         )
  1196.     );endwhile
  1197.   )
  1198. )
  1199.  
  1200. ;------------------------------------------------------
  1201. ;// Create floppy disk 1
  1202. (procedure @CreateDisk1
  1203.     (
  1204.     ;// Copy system files from install disk to Ram...
  1205.     (copyfiles
  1206.         (source (cat #InstallDisk ":Libs"))
  1207.         (dest "RAM:Libs")
  1208.         (all)
  1209.         (optional "force")
  1210.     )
  1211.     (copyfiles
  1212.         (source (cat #InstallDisk ":c"))
  1213.         (dest "RAM:c")
  1214.         (all)
  1215.         (optional "force")
  1216.     )
  1217.     (copyfiles
  1218.         (source (cat #InstallDisk ":l"))
  1219.         (dest "RAM:l")
  1220.         (all)
  1221.         (optional "force")
  1222.     )
  1223.     (copyfiles
  1224.         (source (cat #InstallDisk ":system"))
  1225.         (dest "RAM:system")
  1226.         (all)
  1227.         (optional "force")
  1228.    )
  1229.     (copyfiles
  1230.       (source (cat #InstallDisk ":Devs"))
  1231.       (dest "RAM:Devs")
  1232.       (all)
  1233.       (optional "force")
  1234.     )
  1235.     (copyfiles
  1236.       (source (cat #InstallDisk ":prefs"))
  1237.       (dest "RAM:prefs")
  1238.       (all)
  1239.       (optional "force")
  1240.     )
  1241.     (copyfiles
  1242.       (source (cat #InstallDisk ":s"))
  1243.       (dest "RAM:s")
  1244.       (all)
  1245.       (optional "force")
  1246.     )
  1247.  
  1248.  
  1249.         (copyfiles
  1250.           (source (cat #InstallName ":Locale"))
  1251.           (dest "RAM:Locale")
  1252.           (all)
  1253.           (optional "force")
  1254.         )
  1255.  
  1256.  
  1257.     ;// Now create the first disk
  1258.       (message #BlankDiskWarning
  1259.           (help #FloppyWarningHelp)
  1260.       )
  1261.       (set #FormatMainDisk #MainDisk)
  1262.       (@Makedisk)
  1263.  
  1264.     (message (cat "\n" #MainDisk #FormatCompleteMsg1 #MainDisk #FormatCompleteMsg2))
  1265.  
  1266.  
  1267.     ;// Now copy all files from RAM to disk 1, then delete them.
  1268.     (set #FileSourceDisk #MainDisk)
  1269.     (@GetDisk)
  1270.  
  1271.     (makedir (cat #MainDisk ":Prefs") (infos))                ; make Prefs drawer
  1272.  
  1273.     (copyfiles
  1274.         (source "RAM:Libs")
  1275.         (dest (cat #MainDisk ":Libs"))
  1276.         (all)
  1277.         (optional "force")
  1278.     )
  1279.         (run "ram:delete RAM:Libs all" (safe))
  1280.  
  1281.     (copyfiles
  1282.         (source "RAM:l")
  1283.         (dest (cat #MainDisk ":l"))
  1284.         (all)
  1285.         (optional "force")
  1286.     )
  1287.         (run "ram:delete RAM:l all" (safe))
  1288.  
  1289.     (copyfiles
  1290.         (source "RAM:s")
  1291.         (dest (cat #MainDisk ":s"))
  1292.         (all)
  1293.         (optional "force")
  1294.     )
  1295.         (run "ram:delete RAM:s all" (safe))
  1296.  
  1297.  
  1298. (complete 20)
  1299.  
  1300.     (copyfiles
  1301.         (source "RAM:c")
  1302.         (dest (cat #MainDisk ":c"))
  1303.         (all)
  1304.         (optional "force")
  1305.     )
  1306.         (run "ram:delete RAM:c all" (safe))
  1307.  
  1308.     (copyfiles
  1309.         (source "RAM:system")
  1310.         (dest (cat #MainDisk ":system"))
  1311.         (all)
  1312.         (optional "force")
  1313.     )
  1314.         (run "ram:delete RAM:system all" (safe))
  1315.  
  1316.     (copyfiles
  1317.       (source "RAM:Devs")
  1318.       (dest (cat #MainDisk ":Devs"))
  1319.       (all)
  1320.       (optional "force")
  1321.     )
  1322.         (run "ram:delete RAM:Devs all" (safe))
  1323.  
  1324.     (copyfiles
  1325.       (source "RAM:prefs")
  1326.       (dest (cat #MainDisk ":prefs"))
  1327.       (all)
  1328.       (optional "force")
  1329.     )
  1330.         (run "ram:delete RAM:prefs all" (safe))
  1331.  
  1332.     (copyfiles
  1333.       (source "RAM:Locale")
  1334.       (dest (cat #MainDisk ":Locale"))
  1335.       (all)
  1336.       (optional "force")
  1337.     )
  1338.         (run "ram:delete RAM:Locale all" (safe))
  1339.  
  1340. (complete 30)
  1341.  
  1342.         ;## Now install other devices
  1343.         ;## DISK SWAP to get rest of archives
  1344.     (set #FileSourceDisk #InstallDisk)
  1345.     (@GetDisk)
  1346.  
  1347.     ;// ... some archives...
  1348.     (copyfiles
  1349.             (source (cat #InstallDisk ":Archive"))
  1350.             (dest "OrgTemp:")
  1351.             (pattern ("~(Supp_Storage.lha|Themes.lha|Organiser.lha|Templates.lha|Help.lha|Disk1Info.lha|Disk2Info.lha|HDInfo.lha|ProgramInfo.lha|DrawerInfo.lha)"))
  1352.             (optional "force")
  1353.           (safe)
  1354.     )
  1355.  
  1356.     (copyfiles
  1357.             (source (cat #InstallDisk ":S"))
  1358.             (dest "OrgTemp:")
  1359.             (pattern ("(startup-sequence)"))
  1360.             (optional "force")
  1361.           (safe)
  1362.     )
  1363.  
  1364.  
  1365.  
  1366.         ;## DISK SWAP back again to dearchive to disk
  1367.     (set #FileSourceDisk #MainDisk)
  1368.     (@GetDisk)
  1369.  
  1370.     (makedir (cat #MainDisk ":" #SupplementsName) (infos))        ; make Supplements drawer
  1371.     (makedir (cat #MainDisk ":WBStartup") (infos))                ; make WBStartup drawer
  1372.     (makedir (cat #MainDisk ":" #SamplesName) (infos))            ; make Samples drawer
  1373.  
  1374.         ;// Make the Catalogs drawer
  1375.         (set #CatalogsDest (cat #MainDisk ":" #CatalogsName "/"))
  1376.         (makedir (cat #MainDisk ":" #CatalogsName))
  1377.  
  1378.  
  1379.     (set #UnpackFile (cat #ArchiveLocation #DevicesArchiveName))
  1380.     (set #UnpackDest (cat #MainDisk ":Devs/"))
  1381.     (@UnpackFiles)
  1382.         (run (cat "ram:delete " #ArchiveLocation #DevicesArchiveName) (safe))
  1383.  
  1384.  
  1385. (complete 40)
  1386.  
  1387.  
  1388.         (@DearchiveScreenFonts)
  1389.         (run (cat "ram:delete " #ArchiveLocation #SystemFontsArchiveName) (safe))
  1390.  
  1391.         (@DearchiveEnv-Archive)
  1392.         (@DearchiveEnv)
  1393.         (run (cat "ram:delete " #ArchiveLocation #Env-ArchiveArchiveName) (safe))
  1394.  
  1395.         (set #UnpackFile (cat #ArchiveLocation #OtherPrefsArchiveName))
  1396.         (set #UnpackDest (cat #MainDisk ":Prefs/Env-Archive/Sys/"))
  1397.         (@UnpackFiles)
  1398.             (run (cat "ram:delete " #ArchiveLocation #OtherPrefsArchiveName) (safe))
  1399.  
  1400.  
  1401.         (set #UnpackFile (cat #ArchiveLocation #AddMonitorArchiveName))
  1402.         (set #UnpackDest (cat #MainDisk ":System/"))
  1403.         (@UnpackFiles)
  1404.             (run (cat "ram:delete " #ArchiveLocation #AddMonitorArchiveName) (safe))
  1405.  
  1406.  
  1407.  
  1408.         (@InstallASL)
  1409.         (run (cat "ram:delete " #ArchiveLocation #ASLArchiveName) (safe))
  1410.  
  1411.         (@InstallCommodities)
  1412.         (run (cat "ram:delete " #ArchiveLocation #CommoditiesArchiveName) (safe))
  1413.  
  1414.         (@InstallAmigaGuide)
  1415.         (run (cat "ram:delete " #ArchiveLocation #AmigaGuideArchiveName) (safe))
  1416.  
  1417.         (@InstallDiskfont)
  1418.         (run (cat "ram:delete " #ArchiveLocation #DiskfontArchiveName) (safe))
  1419.  
  1420.  
  1421. (complete 50)
  1422.  
  1423.         (@InstallFiles)
  1424.         (run (cat "ram:delete " #ArchiveLocation #FilesArchiveName) (safe))
  1425.  
  1426.         (@InstallSupplements)
  1427.         (run (cat "ram:delete " #ArchiveLocation #SupplementsArchiveName) (safe))
  1428.  
  1429.         (@InstallHarp)
  1430.         (run (cat "ram:delete " #ArchiveLocation #HarpArchiveName) (safe))
  1431.  
  1432.         (set #UnpackFile (cat #ArchiveLocation #PrinterArchiveName))
  1433.         (set #UnpackDest (cat #MainDisk ":Prefs/"))
  1434.         (@UnpackFiles)
  1435.             (run (cat "ram:delete " #ArchiveLocation #PrinterArchiveName) (safe))
  1436.  
  1437.         (set #UnpackFile (cat #ArchiveLocation #SoundArchiveName))
  1438.         (set #UnpackDest (cat #MainDisk ":Prefs/"))
  1439.         (@UnpackFiles)
  1440.             (run (cat "ram:delete " #ArchiveLocation #SoundArchiveName) (safe))
  1441.  
  1442.         ;// Install Catalogs
  1443.         (set #UnpackFile (cat #ArchiveLocation #CatalogsArchiveName))
  1444.         (set #UnpackDest #CatalogsDest)
  1445.         (@UnpackFiles)
  1446.             (run (cat "ram:delete " #ArchiveLocation #CatalogsArchiveName) (safe))
  1447.  
  1448.  
  1449.         ;## DISK SWAP to get rest of archives
  1450.     (set #FileSourceDisk #InstallDisk)
  1451.     (@GetDisk)
  1452.  
  1453.     ;// ... some archives...
  1454.     (copyfiles
  1455.             (source (cat #InstallDisk ":Archive"))
  1456.             (dest "OrgTemp:")
  1457.             (pattern ("(Organiser.lha|Disk1Info.lha|ProgramInfo.lha)"))
  1458.             (optional "force")
  1459.           (safe)
  1460.         )
  1461.  
  1462. (complete 60)
  1463.  
  1464.  
  1465.         ;## DISK SWAP back again to dearchive to disk
  1466.     (set #FileSourceDisk #MainDisk)
  1467.     (@GetDisk)
  1468.  
  1469.         (@InstallProg)
  1470.         (run (cat "ram:delete " #ArchiveLocation #ProgArchiveName) (safe))
  1471.  
  1472.     (set #UnpackFile (cat #ArchiveLocation #Disk1InfoArchiveName))
  1473.     (set #UnpackDest (cat #MainDisk ":"))
  1474.     (@UnpackFiles)
  1475.         (run (cat "ram:delete " #ArchiveLocation #Disk1InfoArchiveName) (safe))
  1476.  
  1477.     (set #UnpackFile (cat #ArchiveLocation #ProgramInfoArchiveName))
  1478.     (set #UnpackDest (cat #MainDisk ":"))
  1479.     (@UnpackFiles)
  1480.         (run (cat "ram:delete " #ArchiveLocation #ProgramInfoArchiveName) (safe))
  1481.  
  1482.         (tooltype
  1483.             (dest #OrgToolDest)
  1484.             (settooltype #HelpTool (cat #FilesDisk ":Help/Organiser.guide"))
  1485.         )
  1486.  
  1487.     )
  1488. )
  1489.  
  1490. ;------------------------------------------------------
  1491. ;// Create floppy disk 2
  1492. (procedure @CreateDisk2
  1493.  
  1494.  
  1495.     (
  1496.         (set #FileSourceDisk #InstallDisk)
  1497.         (@GetDisk)
  1498.         (copyfiles
  1499.                 (source (cat #InstallDisk ":Archive"))
  1500.                 (dest "OrgTemp:")
  1501.                 (pattern ("(Supp_Storage.lha|Themes.lha|Templates.lha|Help.lha|Disk2Info.lha)"))
  1502.                 (optional "force")
  1503.               (safe)
  1504.         )
  1505.  
  1506.         ;// Now create the second disk
  1507.     (message #BlankDiskWarning
  1508.         (help #FloppyWarningHelp)
  1509.     )
  1510.  
  1511. (complete 70)
  1512.  
  1513.       (set #FormatMainDisk #FilesDisk)
  1514.       (@Makedisk)
  1515.  
  1516.     (message (cat "\n" #FilesDisk #FormatCompleteMsg1 #FilesDisk #FormatCompleteMsg2))
  1517.  
  1518.     (set #FileSourceDisk #FilesDisk)
  1519.     (@GetDisk)
  1520.  
  1521.  
  1522.         ;// Create the drawers with icons.
  1523.     (makedir (cat #FilesDisk ":" #SuppStorageName) (infos))        ; make Supplements Storage drawer
  1524.     (makedir (cat #FilesDisk ":" #ThemesName) (infos))            ; make Themed diaries drawer
  1525.     (makedir (cat #FilesDisk ":" #TemplatesName) (infos))        ; make Templates drawer
  1526.     (makedir (cat #FilesDisk ":Help"))                            ; make Help drawer
  1527.  
  1528.  
  1529.  
  1530.     ;// Now copy all files from RAM to disk 2, then delete them.
  1531.     (set #FileSourceDisk #FilesDisk)
  1532.     (@GetDisk)
  1533.  
  1534.         (@InstallSuppStorage)
  1535.         (run (cat "ram:delete " #ArchiveLocation #SuppStorageArchiveName) (safe))
  1536.  
  1537. (complete 80)
  1538.  
  1539.  
  1540.         (@InstallHelp)
  1541.         (run (cat "ram:delete " #ArchiveLocation #HelpArchiveName) (safe))
  1542.  
  1543.         (@InstallThemes)
  1544.         (run (cat "ram:delete " #ArchiveLocation #ThemesArchiveName) (safe))
  1545.  
  1546.         (@InstallTemplates)
  1547.         (run (cat "ram:delete " #ArchiveLocation #TemplatesArchiveName) (safe))
  1548.  
  1549.     (set #UnpackFile (cat #ArchiveLocation #Disk2InfoArchiveName))
  1550.     (set #UnpackDest (cat #FilesDisk ":"))
  1551.     (@UnpackFiles)
  1552.         (run (cat "ram:delete " #ArchiveLocation #Disk2InfoArchiveName) (safe))
  1553.  
  1554.     )
  1555. )
  1556.  
  1557. ;------------------------------------------------------
  1558. ;// Install program files
  1559. (procedure @InstallProg
  1560.     (
  1561.       (working #WorkingMsg)
  1562.     (set #UnpackFile (cat #ArchiveLocation #ProgArchiveName))
  1563.     (set #UnpackDest #ProgDest)
  1564.     (@UnpackFiles)
  1565.   )
  1566. )
  1567.  
  1568. ;------------------------------------------------------
  1569. ;// Install Help files
  1570. (procedure @InstallHelp
  1571.     (
  1572.       (working #WorkingMsg)
  1573.     (set #UnpackFile (cat #ArchiveLocation #HelpArchiveName))
  1574.     (set #UnpackDest #HelpDest)
  1575.     (@UnpackFiles)
  1576.   )
  1577. )
  1578.  
  1579. ;------------------------------------------------------
  1580. ;// Install Supplements Storage
  1581. (procedure @InstallSuppStorage
  1582.     (
  1583.         (working #WorkingMsg)
  1584.     (set #UnpackFile (cat #ArchiveLocation #SuppStorageArchiveName))
  1585.     (set #UnpackDest #SuppStorageDest)
  1586.     (@UnpackFiles)
  1587.     )
  1588. )
  1589.  
  1590. ;------------------------------------------------------
  1591. ;// Install Themes
  1592. (procedure @InstallThemes
  1593.     (
  1594.         (working #WorkingMsg)
  1595.     (set #UnpackFile (cat #ArchiveLocation #ThemesArchiveName))
  1596.     (set #UnpackDest #ThemesDest)
  1597.     (@UnpackFiles)
  1598.     )
  1599. )
  1600.  
  1601. ;------------------------------------------------------
  1602. ;// Install Templates
  1603. (procedure @InstallTemplates
  1604.     (
  1605.         (working #WorkingMsg)
  1606.     (set #UnpackFile (cat #ArchiveLocation #TemplatesArchiveName))
  1607.     (set #UnpackDest #TemplatesDest)
  1608.     (@UnpackFiles)
  1609.     )
  1610. )
  1611.  
  1612.  
  1613. ;------------------------------------------------------
  1614. ;// Install Files
  1615. (procedure @InstallFiles
  1616.     (
  1617.         (working #WorkingMsg)
  1618.     (set #UnpackFile (cat #ArchiveLocation #FilesArchiveName))
  1619.     (set #UnpackDest #FilesDest)
  1620.     (@UnpackFiles)
  1621.     )
  1622. )
  1623.  
  1624. ;------------------------------------------------------
  1625. ;// Install Supplements
  1626. (procedure @InstallSupplements
  1627.     (
  1628.         (working #WorkingMsg)
  1629.     (set #UnpackFile (cat #ArchiveLocation #SupplementsArchiveName))
  1630.     (set #UnpackDest #SupplementsDest)
  1631.     (@UnpackFiles)
  1632.     )
  1633. )
  1634.  
  1635. ;------------------------------------------------------
  1636. ;// Install Harp sample
  1637. (procedure @InstallHarp
  1638.     (
  1639.         (working #WorkingMsg)
  1640.     (set #UnpackFile (cat #ArchiveLocation #HarpArchiveName))
  1641.     (set #UnpackDest #SamplesDest)
  1642.     (@UnpackFiles)
  1643.     )
  1644. )
  1645.  
  1646.  
  1647. ;------------------------------------------------------
  1648. ;// Routine to install printer and fonts
  1649. (procedure @AddNewPrinter
  1650.     (
  1651.     (set #FileSourceDisk #InstallDisk)
  1652.     (@GetDisk)
  1653.  
  1654.     ;// Delete all in OrgTemp: first...
  1655.         (run (cat "ram:delete OrgTemp:#?" ) (safe))
  1656.     (set #ChosenDriver "Generic")
  1657.     (set #DriverSource (cat #InstallDisk ":Drivers"))
  1658.         (if (= #DestinationType "Floppy")
  1659.         (
  1660.             (set #DriverDest (cat #MainDisk ":Devs/Printers"))
  1661.           )
  1662.           (
  1663.             (set #DriverDest "DEVS:Printers")
  1664.                 (set #CheckGeneric (cat #DriverDest "/" #ChosenDriver))
  1665.                 (if (exists #CheckGeneric)
  1666.                   (
  1667.                     (protect #CheckGeneric "+r+w+e+d")
  1668.                   )
  1669.                 )
  1670.           )
  1671.         )
  1672.  
  1673.     ;// Select printer (or driver) from list...
  1674.     (working #WorkingMsg)
  1675.     (set #SelectPrt
  1676.       (cat "OrgUtils:select OrgUtils:OrgPrinterList")
  1677.     )
  1678.     (run #SelectPrt (safe))
  1679.     (set #ChosenDriver (getenv "wwDriver"))
  1680.     (working #WorkingMsg)
  1681.  
  1682.     ;// driver chosen so copy it to ram...
  1683.     (copyfiles
  1684.       (source #DriverSource)
  1685.       (dest #RamTempFile)
  1686.       (pattern #ChosenDriver)
  1687.       (optional "force")
  1688.       (nogauge)
  1689.     )
  1690.  
  1691.     ;// Now decompress Driver 'ChosenDriver' to destination '#RamTempFile'...
  1692.     (set #UnpackFile (tackon #RamTempFile #ChosenDriver))
  1693.     (set #UnpackDest "OrgTemp:")
  1694.     (@UnpackFiles)
  1695.     (delete #UnpackFile)
  1696.  
  1697.     ;// get full uncompressed driver name...
  1698.     (run "c:List " #RamTempFile " LFORMAT %s >ENV:wwDriver")
  1699.     (set Driver (getenv "wwDriver"))
  1700.     (set DriverLen (strlen Driver))
  1701.     (set DriverLen (- DriverLen 1))
  1702.     (set #ChosenDriver
  1703.       (substr Driver 0 DriverLen)
  1704.     )
  1705.     ;// finally, copy driver to driver destination...
  1706.         (if (= #DestinationType "Floppy")
  1707.         (
  1708.             (set #FileSourceDisk #MainDisk)
  1709.             (@GetDisk)
  1710.         )
  1711.     )
  1712.     (copyfiles
  1713.       (source #RamTempFile)
  1714.       (dest #DriverDest)
  1715.       (pattern #ChosenDriver)
  1716.       (optional "force")
  1717.     )
  1718.   )
  1719. )
  1720.  
  1721. ;------------------------------------------------------
  1722. ;// Delete any files from Ram and temporary Ram Drawer
  1723. (procedure @CleanUp
  1724.     (
  1725.     (working #WorkingMsg)
  1726.     (makeassign "OrgTemp" (safe))
  1727.         (if (exists #RamTempFile)
  1728.         (
  1729.                 (set DeleteDrawer (cat "ram:delete " #RamTempFile " all force"))
  1730.                 (Run DeleteDrawer)
  1731.             )
  1732.         )
  1733.     (makeassign "OrgUtils" (safe))
  1734.         (if (exists #RamUtils)
  1735.         (
  1736.                 (set DeleteDrawer (cat "ram:delete " #RamUtils " all force"))
  1737.                 (Run DeleteDrawer)
  1738.             )
  1739.         )
  1740.       (delete "Ram:delete"
  1741.           (optional "force")
  1742.       )
  1743.     )
  1744. )
  1745.  
  1746. ;------------------------------------------------------
  1747. ; ### Main
  1748. (complete 0)
  1749. (welcome)
  1750. (complete 5)
  1751. (@InitialChecks) ;// Copies relevent files to ram also
  1752. (@CheckHDorFloppy)
  1753.  
  1754. (complete 10)
  1755.  
  1756. (if (= #DestinationType "Hard")
  1757.     (
  1758.         ;// HD
  1759.  
  1760.     ; Install to Hard-disk
  1761.     (if (= #FullPath (cat #InstallDisk ":"))
  1762.         (Abort #HDBootedFromFloppy)
  1763.     )
  1764.  
  1765.  
  1766.       (set #ArchiveLocation (cat #InstallDisk ":Archive/"))
  1767.     (set #FileSourceDisk #InstallDisk)
  1768.     (@GetDisk)
  1769.     (@SetUpHDProgDests)
  1770.  
  1771.  
  1772.     ;## if on Hard disk see if there's a Locale:Countries drawer
  1773.  
  1774.        (if (not (exists "Sys:Locale"))
  1775.         (
  1776.             (makedir "Sys:Locale" (infos))
  1777.  
  1778.             (startup #ProgName
  1779.                 (prompt #AskLocaleMsg)
  1780.                 (help #AskLocaleHelp)
  1781.                 (command #AskLocaleCmd)
  1782.             )
  1783.  
  1784.                (run ("Assign LOCALE: SYS:Locale"))        ; Set Assign now
  1785.  
  1786.  
  1787.             (copyfiles
  1788.                 (source (cat #InstallName ":Locale"))
  1789.                 (dest "Sys:Locale/")
  1790.                 (all)
  1791.                 (optional "force")
  1792.             )
  1793.         )
  1794.     )
  1795.  
  1796.  
  1797.         (@CheckASL)
  1798.         (@CheckCommodities)
  1799.         (@CheckLocale)
  1800.         (@CheckParse)
  1801.         (@CheckDiskFont)
  1802.         (@CheckAmigaGuide)
  1803.  
  1804.  
  1805.         (@FindHDDest)
  1806.         (@CreateDrawers)
  1807.     (@SetUpHDProgDests)
  1808.     (set @default-dest #DestDrawer)
  1809. (complete 20)
  1810.         (@DearchiveScreenFonts)
  1811.         (@DearchiveEnv-Archive)
  1812.         (@DearchiveEnv)
  1813. (complete 30)
  1814.         (@InstallProg)
  1815.         (@InstallSupplements)
  1816.  
  1817.         (if (not (exists "Sys:Prefs/Sound"))
  1818.             (
  1819.                   (working #WorkingMsg)
  1820.                 (set #UnpackFile (cat #ArchiveLocation #SoundArchiveName))
  1821.                 (set #UnpackDest "Sys:Prefs/")
  1822.                 (@UnpackFiles)
  1823.             )
  1824.         )
  1825. (complete 40)
  1826.         (@InstallSuppStorage)
  1827. (complete 50)
  1828.  
  1829.         (@InstallThemes)
  1830.  
  1831.         (if (not (exists (cat #SamplesDest "Harp")))
  1832.             (
  1833.                 (@InstallHarp)
  1834.             )
  1835.         )
  1836. (complete 60)
  1837.  
  1838.         ;// Install Catalogs
  1839.         (set #UnpackFile (cat #ArchiveLocation #CatalogsArchiveName))
  1840.         (set #UnpackDest (cat #HDCatalogsDest "/"))
  1841.         (@UnpackFiles)
  1842.  
  1843.  
  1844.         (@InstallFiles)
  1845. (complete 70)
  1846.         (@InstallTemplates)
  1847.         (@InstallHelp)
  1848.  
  1849.  
  1850.     (set #UnpackFile (cat #ArchiveLocation #DrawerInfoArchiveName))
  1851.     (set #UnpackDest (cat #ProgDest "/"))
  1852.     (@UnpackFiles)
  1853.  
  1854. (complete 80)
  1855.  
  1856.     (set #UnpackFile (cat #ArchiveLocation #HDInfoArchiveName))
  1857.     (set #UnpackDest #ProgDest)
  1858.     (@UnpackFiles)
  1859.  
  1860.     (set #UnpackFile (cat #ArchiveLocation #ProgramInfoArchiveName))
  1861.     (set #UnpackDest #ProgDest)
  1862.     (@UnpackFiles)
  1863.  
  1864.  
  1865.            (
  1866.             ;set default tool type for all Themed Diaries
  1867.             (foreach #ThemesDest "#?"
  1868.                 (
  1869.                     (tooltype
  1870.                         (dest (cat #ThemesDest @each-name))
  1871.                         (setdefaulttool (cat #ProgDest #ProgName))
  1872.                     )
  1873.                 )
  1874.             )
  1875.         )
  1876.  
  1877.  
  1878.     )
  1879.     (
  1880.         ;// Floppy
  1881.       (set #ArchiveLocation "OrgTemp:")
  1882.     (@SetUpFloppyProgDests)
  1883.         (if (>= @user-level 2) ;expert only
  1884.             (
  1885.                 (set #FormatChoice
  1886.                     (askchoice
  1887.                         (prompt #FormatChoiceprompt)
  1888.                         (choices #FormatChoicemsg1 #FormatChoicemsg2)
  1889.                         (help #FormatChoice-help)
  1890.                         (default 0)
  1891.                     )
  1892.                 )
  1893.             )
  1894.         )
  1895.  
  1896.         ;// if expert then check user wants to create disk 1
  1897.         (if (>= @user-level 2)
  1898.             (
  1899.                 (set #CreateDiskChoice
  1900.                     (askbool
  1901.                         (prompt (cat #CreateDiskPrompt1 #MainDisk #CreateDiskPrompt2))
  1902.                         (choices #ChoiceContinue #ChoiceSkip)
  1903.                         (help #CreateDiskHelp)
  1904.                         (default 1)
  1905.                     )
  1906.                 )
  1907.             )
  1908.           (set #CreateDiskChoice 1)
  1909.         )
  1910.  
  1911.     (if (= @user-level 0)
  1912.       (
  1913.         (user 2)
  1914.         (set #UserNovice 1)
  1915.       )
  1916.     )
  1917.  
  1918.     (if (= #CreateDiskChoice 1)
  1919.         (@CreateDisk1)
  1920.     )
  1921.  
  1922.     (if (= #UserNovice 1)
  1923.       (
  1924.         (user 0)
  1925.       )
  1926.     )
  1927.  
  1928.  
  1929.         ;// if expert then check user wants to create disk 2
  1930.         (if (>= @user-level 2)
  1931.             (
  1932.                 (set #CreateDiskChoice
  1933.                     (askbool
  1934.                         (prompt (cat #CreateDiskPrompt1 #FilesDisk #CreateDiskPrompt2))
  1935.                         (choices #ChoiceContinue #ChoiceSkip)
  1936.                         (help #CreateFilesDiskHelp)
  1937.                         (default 1)
  1938.                     )
  1939.                 )
  1940.             )
  1941.           (set #CreateDiskChoice 1)
  1942.         )
  1943.  
  1944.     (if (= @user-level 0)
  1945.       (
  1946.         (user 2)
  1947.         (set #UserNovice 1)
  1948.       )
  1949.     )
  1950.  
  1951.     (if (= #CreateDiskChoice 1)
  1952.         (@CreateDisk2)
  1953.     )
  1954.  
  1955.     (if (= #UserNovice 1)
  1956.       (user 0)
  1957.     )
  1958.  
  1959.     (set @default-dest "")
  1960.     )
  1961. )
  1962.  
  1963. (complete 90)
  1964.  
  1965.     (set #InstallPrinter 1)
  1966.  
  1967.     (if (< #UserNovice 1) ; Intermediate or Expert only
  1968.         (
  1969.             (set #InstallPrinter
  1970.                 (askbool
  1971.                     (prompt #PrinterChoicePrompt)
  1972.                     (choices #PrinterChoicemsg1 #PrinterChoicemsg2)
  1973.                     (help #PrinterChoice-help)
  1974.                     (default 0)
  1975.                 )
  1976.             )
  1977.         )
  1978.     )
  1979.  
  1980. (if (= #InstallPrinter 1)
  1981.     (
  1982.         (@AddNewPrinter)
  1983.     )
  1984. )
  1985.  
  1986. (@CleanUp)
  1987. (complete 100)
  1988. (if (= #DestinationType "Hard")
  1989.     (exit)
  1990.     (exit #FloppyFinishedMsg)
  1991. )
  1992.